package com.sanpu.kxe.business.repay.bean;

import android.text.TextUtils;

import java.io.Serializable;
import java.util.List;

/**
 * Description：查询计划明细
 * Created by 薛勇军 on 2019/4/10.
 */

public class QueryPlanDetailsOutput implements Serializable {

    /** 还款通道 */
    private String channelName;

    /** 预期还款金额 **/
    private String expectedRepayAmount;

    /** 实际还款金额 **/
    private String actualRepayAmount;

    /** 预期手续费 **/
    private String expectedFee;

    /** 实际手续费 **/
    private String actualFee;

    /** 消费费率 **/
    private String tradeRate;

    /** 还款费率 **/
    private String extraCharge;

    /** 失败原因 */
    private String failCause;

    /** 卡号 后四位 */
    private String cardNO;

    /** 银行名称 */
    private String bankName;

    /** 到账卡信息 */
    private String settleCardInfo;

    /** 统计结果 */
    private String totalResult;

    /** 是否自选行业 */
    private String isOptionalMcc;

    /** 计划明细列表 */
    private List<QueryPlanDetails> planDetailList;

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public String getExpectedRepayAmount() {
        return expectedRepayAmount;
    }

    public void setExpectedRepayAmount(String expectedRepayAmount) {
        this.expectedRepayAmount = expectedRepayAmount;
    }

    public String getActualRepayAmount() {
        return actualRepayAmount;
    }

    public void setActualRepayAmount(String actualRepayAmount) {
        this.actualRepayAmount = actualRepayAmount;
    }

    public String getExpectedFee() {
        return expectedFee;
    }

    public void setExpectedFee(String expectedFee) {
        this.expectedFee = expectedFee;
    }

    public String getActualFee() {
        return actualFee;
    }

    public void setActualFee(String actualFee) {
        this.actualFee = actualFee;
    }

    public String getTradeRate() {
        return tradeRate;
    }

    public void setTradeRate(String tradeRate) {
        this.tradeRate = tradeRate;
    }

    public String getExtraCharge() {
        return extraCharge;
    }

    public void setExtraCharge(String extraCharge) {
        this.extraCharge = extraCharge;
    }

    public String getFailCause() {
        return failCause;
    }

    public void setFailCause(String failCause) {
        this.failCause = failCause;
    }

    public String getCardNO() {
        return cardNO;
    }

    public void setCardNO(String cardNO) {
        this.cardNO = cardNO;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getSettleCardInfo() {
        return settleCardInfo;
    }

    public void setSettleCardInfo(String settleCardInfo) {
        this.settleCardInfo = settleCardInfo;
    }

    public String getTotalResult() {
        return totalResult;
    }

    public void setTotalResult(String totalResult) {
        this.totalResult = totalResult;
    }

    public String getIsOptionalMcc() {
        return isOptionalMcc;
    }

    public void setIsOptionalMcc(String isOptionalMcc) {
        this.isOptionalMcc = isOptionalMcc;
    }

    public boolean isOptionalMcc() {
        return TextUtils.equals("Y", isOptionalMcc);
    }

    public List<QueryPlanDetails> getPlanDetailList() {
        return planDetailList;
    }

    public void setPlanDetailList(List<QueryPlanDetails> planDetailList) {
        this.planDetailList = planDetailList;
    }

    public static class QueryPlanDetails {

        private String repayTradeType;//交易类型

        private String expectedTradeTime;//时间 格式：年月日时分秒

        private String mccCode;//行业

        private String mccName;//行业名称

        private String tradeAmount;//金额 单位：元

        private String tradeFee;//手续费

        /**
         * INIT：初始化
         PROCESING：执行中
         CANCEL：已取消
         SUCCESS：执行成功
         FAIL：执行失败
         */
        private String planDetailStatus;//结果

        public String getRepayTradeType() {
            return repayTradeType;
        }

        public void setRepayTradeType(String repayTradeType) {
            this.repayTradeType = repayTradeType;
        }

        public String getExpectedTradeTime() {
            return expectedTradeTime;
        }

        public void setExpectedTradeTime(String expectedTradeTime) {
            this.expectedTradeTime = expectedTradeTime;
        }

        public String getMccCode() {
            return mccCode;
        }

        public void setMccCode(String mccCode) {
            this.mccCode = mccCode;
        }

        public String getMccName() {
            return mccName;
        }

        public void setMccName(String mccName) {
            this.mccName = mccName;
        }

        public String getTradeAmount() {
            return tradeAmount;
        }

        public void setTradeAmount(String tradeAmount) {
            this.tradeAmount = tradeAmount;
        }

        public String getPlanDetailStatus() {
            return planDetailStatus;
        }

        public void setPlanDetailStatus(String planDetailStatus) {
            this.planDetailStatus = planDetailStatus;
        }

        public String getTradeFee() {
            return tradeFee;
        }

        public void setTradeFee(String tradeFee) {
            this.tradeFee = tradeFee;
        }
    }
}
